﻿using System;

namespace DesignPattern.com.bridge.error {

    public enum ENUM_WEAPON {
        empty,
        gun,
        rifle,
        rocket,
        max
    }
    
    public class Weapon {
        protected ENUM_WEAPON _weaponEnum = ENUM_WEAPON.empty;
        protected int atkValue = 0;
        protected int atkRange = 0;
        protected int atkValuePlus = 0;

        public Weapon(ENUM_WEAPON type,int atkv,int atkr){
            _weaponEnum = type;
            atkValue = atkv;
            atkRange = atkr;
        }

        public void fire(ICharacter target){
            Console.WriteLine("weapon fire target");
        }


        public void showBulletEffect(string a){
            Console.WriteLine("show bullet effect "+a);
        }

        public void showShootEffect(string a){
            Console.WriteLine("show shoot effect "+a);
        }

        public void ShowSoundEffect(string a){
            Console.WriteLine("show sound effect "+a);
        }
        
        public ENUM_WEAPON WeaponEnum {
            get { return _weaponEnum; }
            set { _weaponEnum = value; }
        }

        public int AtkValue {
            get { return atkValue; }
            set { atkValue = value; }
        }

        public int AtkRange {
            get { return atkRange; }
            set { atkRange = value; }
        }

        public int AtkValuePlus {
            get { return atkValuePlus; }
            set { atkValuePlus = value; }
        }
    }
}